#!/usr/bin/env python
#
#       ProductDoc.py
#
#       Copyright 2008 karthikeyan S.<kaarthikeyapreyan@gmail.com>
#
#       This program is free software; you can redistribute it and/or modify
#       it under the terms of the GNU General Public License as published by
#       the Free Software Foundation; either version 2 of the License, or
#       (at your option) any later version.
#
#       This program is distributed in the hope that it will be useful,
#       but WITHOUT ANY WARRANTY; without even the implied warranty of
#       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#       GNU General Public License for more details.
#
#       You should have received a copy of the GNU General Public License
#       along with this program; if not, write to the Free Software
#       Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
#       MA 02110-1301, USA.
#

def AboutProduct():
    """
    PyTestGenerator is an automated Test Case Generator
    for creating python unittests.
    It is a tool that is used to create pyunit test cases
    for any given python module.
    It requires only the name of the module to generate its testcases,
    Except in the case of customization.
    The tool is aided with GUI which could be used
    subject to following dependencies:
            * WxPython .
            * Wordwrap(sometimes ported with wx libraries)
    The use of the GUI is optional as the test cases
    could be generated with the CLI itself
    """

    return 0

def Featutes():
    """
    The Test Generator is enabled with the following featues:
        * Automated pyunit test case generator
        * Exteneded usgae of command line arguments
           and usage menu
        * Test case generation for specific category in a module
           i.e. class, module or function

    Features Provided with GUI :
        * All features in provided with CLI
        * Generate test case for the specified induviduial entity
           of a category
        * Feature to customize the Test cases
        * Run the generated test cases and present with results.

    """
    return 0

def UseProduct():
    """
    The Arguments provided with CLI:
    ___________________________________________________________________________
    Arguments
        -m <module Name>    Module for test case generation
        -o <options>            Specify the nature of listing
                            i.e. class (or) method (or) function
        -h (or) --help        Help option which would list the
                        usage menu
        -g (or) --generate     Generate PyUnit TestCases
        -d (or) --debug     The debug option can be used if you are not sure
                        of what module you are importing
        -w <file Name>        File to save the selected entities which
                    are present in the module.
        write option must be used with the filename as option.
        Options 'o' and 'm' are Mandatory
        If method is selected it would returned along with
        the name of the associated class.
    List of Options
        all     List down the entire description of the module
        class     List down only the classes in the module
        function    List down only the modules in the module
        method         List down only the methods in the module

    GUI Features :
    ______________________________________________________________________________________
        The GUI has toolbar and status bar which could be toggled.
        Test cases could be generated for a specific module,
        class, function or method.
        The default generation in case no entities are available in
        the selected pane is for the entire module.
        The default listing is the entire module.
        Specific modules could be listed using the List option in tools menu.
    """
    return 0

def customization():
    """
    Help on Customization

    Customization helps to build your custom test cases
    The Arguments must be a tuple with a value of default Type
    (i.e.) Format
        ('arg1',20):('arg2','str1'):('arg3',True)
        Use only single Quotes
    The entities must be added to the TestGenerator
    before the cases are generated
    (i.e.) Click the Add button before the Generate button
    This feature would generate cases only on
    succesful module import
    """
    return 0
